// 编写一个程序判断给定的数是否为丑数。
// 丑数就是只包含质因数 2, 3, 5 的正整数。
// 1 是丑数
/**
 * @param {number} num
 * @return {boolean}
 */

// 解法1
// var isUgly = function (num) {
//   if (num < 0) return false
//   if (num == 1) return true
//   let arr = [2, 3, 5]
//   while(num > 1) {
//     if (num % 2 != 0 && num % 3 != 0 && num % 5 != 0) {
//       return false
//     }
//     for (let i of arr) {
//       if (num % i == 0) {
//         num = num / i
//         break
//       }
//     }
//   }
//   return true
// };
// 解法2
var isUgly = function (num) {
  if (num <= 0) return false
  if (num == 1) return true
  while (num > 1) {
    var temp;
    if (num % 2 == 0) {
      temp = 2;
    } else if (num % 5 == 0) {
      temp = 5;
    } else if (num % 3 == 0) {
      temp = 3;
    } else {
      return false
    }
    num = num / temp
  }
  return true
};


(function () {
  let num = 16;
  console.log(`${num}是否丑数：`, isUgly(num));
}())